package com.youku.core.view.interfaces
{
   import flash.events.IEventDispatcher;
   import com.youku.core.model.vo.VideoSegmentData;
   import flash.net.NetStream;
   
   public interface IVideo extends IEventDispatcher
   {
      
      function init(param1:VideoSegmentData, param2:int) : void;
      
      function seek(param1:Number) : void;
      
      function mockSeek(param1:Number) : void;
      
      function seekLoad(param1:Number) : void;
      
      function getFileURL(param1:Boolean) : String;
      
      function play(param1:Boolean = false) : void;
      
      function pause() : void;
      
      function resume() : void;
      
      function setToHead() : void;
      
      function load() : void;
      
      function close(param1:Boolean = true) : void;
      
      function get closed() : Boolean;
      
      function updateStatus() : void;
      
      function resetNS() : void;
      
      function get FPS() : Number;
      
      function set volume(param1:Number) : void;
      
      function set defaultVolume(param1:Number) : void;
      
      function get nsTime() : Number;
      
      function get loadedTime() : Number;
      
      function get totalTime() : Number;
      
      function get bytesLoaded() : Number;
      
      function get bytesTotal() : Number;
      
      function get segmentData() : VideoSegmentData;
      
      function get droppedFrames() : Number;
      
      function get oldTotalSize() : Number;
      
      function get num() : Number;
      
      function get jumpT() : Number;
      
      function get speed() : Number;
      
      function get currSpeed() : Number;
      
      function resetData(param1:VideoSegmentData) : void;
      
      function get preloadDone() : Boolean;
      
      function get isJump() : Boolean;
      
      function set visible(param1:Boolean) : void;
      
      function get visible() : Boolean;
      
      function get fileid() : String;
      
      function get videoRealWidth() : Number;
      
      function get videoRealHeight() : Number;
      
      function get ns() : NetStream;
      
      function get code2002Sent() : Boolean;
      
      function set code2002Sent(param1:Boolean) : void;
      
      function get code3004Sent() : Boolean;
      
      function set code3004Sent(param1:Boolean) : void;
      
      function get loadOver() : Boolean;
      
      function get rtmpLoadOver() : Boolean;
      
      function get fileidTime() : Number;
      
      function get isGotMetadata() : Boolean;
   }
}
